1. WEB界面介绍
CatFly的网络界面是由PHP和javascript生成的页面,作为任务创建、调度和数据收集的实验门户网站。一旦用户访问CatFly并通过Web界面登录系统,任务管理网页将提供待处理、预约、运行和已完成实验的信息。可以通过CatFly Doctor网页检索各个传感器节点的实时状态,在其中实现与后台诊断守护进程交互的节点状态跟踪脚本。 CatFly实现了用于安排实验的接口,允许用户访问和操纵传感器阵列,选择需求的拓扑结构。此界面为用户提供了丰富的选项来安排实验和设定他们的需求。
1.1. 安排任务界面
用户在在安排任务网页上,可以进行可视化地选择实验所需要的传感器节点和制定拓扑结构。该接口还与诊断程序相结合,使得在将传感器节点拓扑提供给用户之前,不可用的传感器节点已被自动禁用并且在调度网页上无法被选择。这样可以避免用户选择不可用的节点进行实验。每个用户隶属于预定义的群组,系统将用户群与安排实验的网页相关联。
用户可以在节点状态监控界面检查节点的实时状态,知道哪些节点是空闲的。然后在安排任务的界面上,选择开始运行任务的时间和任务运行时长,上传编译好的可以运行在T-mote上的二进制文件,指定好期望的拓扑结构或者预先指定好的节点组群,点击Web界面上的“Schedule Experiment”按钮,完成测试任务的安排。接下来就会跳转到任务管理界面。
1.2. 任务管理界面
在用户被授权通过Web门户登陆CatFly系统或者安排测试任务之后,将被定向到一个任务管理界面,其中详细列出了用户之前进行的测试状态的详细信息。
![任务管理界面](../附件/image21.jpg)
通过任务管理界面,用户还可以检查任务执行状态、停止任务以及实时查看任务日志。图5-3显示了CatFly任务管理界面。此外,如果用户可以检查对应任务节点烧录信息,可以知道有多少节点正确被烧录或者查看错误的烧录日志。用户通过节点烧录日志可以决定是否需要取消任务或者继续运行。
![节点烧录日志](../附件/image22.jpg)
1.3. CatFly Doctor页面
在CatFly Doctor页面中,用户可以在配置和创建新任务之前轻松跟关“Busy”、“Idle”和“Unavable”三种节点状态。如图所示。
子控制器会定期执行的CatFly Doctor诊断传感器节点的健康状态。传感器节点损坏,掉线,重新上线等意外情况都应该反应在Web用户接口上。为了防止常规计划任务受到诊断问题的干扰或中断,我们设计了一个小型Cron任务,以监视CatFly中所有任务的状态。如果没有任务在首选的传感器节点上运行,则诊断守护进程将进入检查节点状态并将关于传感器节点的实时信息转储到MySQL数据库。此外,守护进程与Web接口相结合,以向用户展示实时节点状态。图5-6显示了CatFly Doctor组件及其与MySQL数据的关系。
CatFly Doctor在实际实验的使用中,体现了良好的鲁棒特性,并显示了其实时错误跟踪功能。一旦通过CatFly Web界面提交任务,作任务状态和事件将被记录并通过Web接口提供给用户。如果用户想要检查已经编程了多少节点并且已经运行,可以直接在Doctor页面查看节点状态信息状态,如果节点状态满足用户需求,则可以继续进一步的实验。